package com.totcy.atom.presenter.contract;

import com.totcy.atom.bean.MMVideoBean;
import com.totcy.atom.bean.MMVideoResp;
import com.totcy.baselibrary.base.mvpbase.BaseModel;
import com.totcy.baselibrary.base.mvpbase.BaseView;

import java.util.List;

/**
 * description :  video contact
 *
 * @author : Totcy
 * @date : 2018/01/25 13:04
 * @update : 2018/01/25 13:04
 */

public interface MMVideoContract {
    interface View extends BaseView {
        /**
         * @param videos
         */
        void onVideoList(MMVideoResp videos);

        /**
         *
         */
        void onFail(String message);
    }

    interface Presenter {
        /**
         * Presenter 调用 model 获取数据
         */
        void getVideoList(int pageNum);
    }

    interface Model extends BaseModel {
        interface DataCallback {
            /**
             * 数据获取成功  返回实体
             *
             * @param beans
             */
            void onVideoList(MMVideoResp beans);

            /**
             *
             */
            void onFail(String message);
        }
        /**
         * 网络获取数据
         */
        void getVideoList(int pageNum,Model.DataCallback callback);
    }
}
